package com.ysstech.etfmanage.service;

import java.util.List;

import com.ysstech.common.entity.PageBean;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ysstech.etfmanage.entity.Account;
import com.ysstech.etfmanage.entity.ParamVo;
import com.ysstech.etfmanage.feign.entity.Quotation;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author lishuangliang
 * @since 2021-02-10
 */
public interface AccountService extends IService<Account> {

    /**
     * 查询ETF台账列表信息
     *
     * @param vo
     * @param pageBean
     * @return
     * @throws Exception
     */
    public PageBean<Account> queryAllEtfaccount(Account vo, PageBean pageBean) throws Exception;



    /**
     * 查询跨市场券的初始化信息
     *
     * @return
     */
    public List<Account> queryStockCrossInitList(Account vo) throws Exception;

    /**
     * 查询本市场券的初始化数据
     *
     * @return
     */
    public List<Account> queryStockInitList(Account vo) throws Exception;

    /**
     * 商品期货类初始化
     *
     * @return
     */
    public List<Account> queryFuturesInitList(Account vo) throws Exception;

    /**
     * 查询需要补票的数据 区分T+0 和T+1
     * fdate fsetcode ftype etfMode array（席位号） market tradedate（T+0/T+1）
     *
     * @param vo
     * @param paramVo
     * @return
     */
    public List<Account> queryEtfAccountFill(Account vo, ParamVo paramVo) throws Exception;

    /**
     * 从reids缓存取出来的数据放到map缓存，防止每次都去redis取
     *
     * @param fdate
     * @return
     * @throws Exception
     */
    public Quotation queryQuotation(String fdate, String securityCode) throws Exception;

}
